/**
 * CrazyGames SDK 集成
 * 此文件加载官方SDK并处理初始化
 */

// 添加官方SDK脚本标签
(function() {
    // 创建script标签
    const sdkScript = document.createElement('script');
    sdkScript.src = 'https://sdk.crazygames.com/crazygames-sdk-v3.js';
    sdkScript.async = true;
    document.head.appendChild(sdkScript);

    // 当SDK加载完成后，将创建一个全局变量window.CrazyGames.SDK
    sdkScript.onload = function() {
        console.log('CrazyGames SDK 已加载');
        // SDK将在游戏初始化时通过init方法初始化
    };
    
    sdkScript.onerror = function() {
        console.error('CrazyGames SDK 加载失败，使用本地模拟SDK');
        // 如果加载失败，创建本地模拟SDK
        createFallbackSDK();
    };
})();

// 创建本地模拟SDK (仅在官方SDK加载失败时使用)
function createFallbackSDK() {
    window.CrazyGames = window.CrazyGames || {};
    window.CrazyGames.SDK = {
        // SDK基本属性
        environment: 'local',
        
        // 初始化方法
        init: function() {
            console.log('本地模拟SDK初始化');
            return Promise.resolve();
        },
        
        // 游戏模块
        game: {
            // 游戏设置
            settings: {
                disableChat: false
            },
            
            // 游戏状态方法
            gameplayStart: function() {
                console.log('游戏开始');
            },
            
            gameplayStop: function() {
                console.log('游戏结束');
            },
            
            loadingStart: function() {
                console.log('游戏加载开始');
            },
            
            loadingStop: function() {
                console.log('游戏加载完成');
            },
            
            happytime: function() {
                console.log('玩家成就达成');
            }
        },
        
        // 广告模块
        ad: {
            // 广告状态
            hasAdblock: false,
            
            // 请求广告
            requestAd: function(adType) {
                console.log(`请求${adType}广告`);
                
                return new Promise((resolve) => {
                    setTimeout(() => {
                        console.log(`${adType}广告准备就绪`);
                        resolve({
                            adType: adType,
                            // 显示广告
                            show: function() {
                                console.log(`显示${adType}广告`);
                                
                                // 模拟广告显示
                                setTimeout(() => {
                                    console.log(`${adType}广告结束`);
                                    if (this.adFinishedCallback) {
                                        this.adFinishedCallback();
                                    }
                                }, 2000);
                            },
                            // 广告完成回调
                            adFinishedCallback: null,
                            // 设置广告完成回调
                            onFinish: function(callback) {
                                this.adFinishedCallback = callback;
                            }
                        });
                    }, 500);
                });
            },
            
            // 前贴片广告
            requestAd: function(adType) {
                return this.requestAd('preroll');
            },
            
            // 中途广告
            requestAd: function(adType) {
                return this.requestAd('midgame');
            },
            
            // 奖励广告
            requestAd: function(adType) {
                return this.requestAd('rewarded');
            }
        },
        
        // 用户模块
        user: {
            // 用户状态
            isUserAccountAvailable: true,
            
            // 获取用户信息
            getUser: function() {
                console.log('获取用户信息');
                return Promise.resolve(null);
            },
            
            // 系统信息
            systemInfo: {
                countryCode: "CN",
                browser: {
                    name: "Chrome",
                    version: "120.0.0.0"
                },
                os: {
                    name: "Windows",
                    version: "10"
                },
                device: {
                    type: "desktop"
                }
            }
        },
        
        // 数据模块
        data: {
            // 存储数据
            set: function(key, value) {
                console.log(`存储数据: ${key}`);
                localStorage.setItem(`crazygames_${key}`, JSON.stringify(value));
                return Promise.resolve();
            },
            
            // 获取数据
            get: function(key) {
                console.log(`获取数据: ${key}`);
                const data = localStorage.getItem(`crazygames_${key}`);
                return Promise.resolve(data ? JSON.parse(data) : null);
            }
        }
    };
} 